The invention relates to a method for the transmission of an asynchronous data stream, containing useful data, via a synchronous data bus which is arranged to transmit data frames in time multiplex, as well as to a circuit arrangement for carrying out the method.
Methods of this kind are described, for example in Adam Osborne, Einfxc3xchrung in die Mikrocomputer-Tecnik, pages 5-34. The known methods use synchronization characters so as to adapt the different speed of the asynchronous data stream to a synchronous data transmission. When the asynchronous data transmitter has no further data available for transmission, the data stream is filled with synchronization characters until the next valid messages are ready for transmission. For this type of synchronous serial data transmission the microprocessor of the data transmitter must continuously generate the synchronization characters and the microprocessor of the data receiver must continuously read the data received and interpret the synchronization characters. Therefore, methods of this kind demand a high computing capacity of the microprocessors of the data transmitter and the data receiver.
It is an object of the invention to provide a different method of the kind set forth as well as a circuit arrangement for carrying out the method which both require less computing capacity of the microprocessors of the data transmitter and the data receiver.
This object is achieved by the method according to the invention in that the asynchronous data stream is converted into a synchronous, continuous data stream by means of a converter circuit, that within the data frames a selectable number of storage locations is provided for the useful data of the asynchronous data stream, that a variable number of useful data can be assigned to the individual data frames by means of the converter circuit and in dependence on the speed of the asynchronous data stream, and that protocol data is assigned to the individual data frames, via the converter circuit, each time in a predetermined position within the data frames, which protocol data contains information as regards the number of useful data contained in the relevant data frame.
The useful data of the asynchronous data stream is arranged in the data frames of the synchronous, continuous data bus by means of the converter circuit. The number of storage locations provided for the useful data of the asynchronous data stream in the individual data frames can vary in conformity with the specific application for which the converter circuit is used. It may be that only a very small part of the capacity of the synchronous data bus is utilized for the useful data of the asynchronous data stream, but it may also occur that the total capacity of the synchronous data bus is available to the useful data of the asynchronous data stream. The number of storage locations provided in the individual data frames for the useful data of the asynchronous data stream in conformity with the relevant application can be flexibly adjusted by means of the converter circuit. The data frames have a fixed data capacity and are serially transmitted in time multiplex via the synchronous data bus.
The quantity of asynchronous useful data applied to the converter circuit per unit of time varies in dependence on the speed of the asynchronous data stream. The converter circuit provides temporal decoupling of the asynchronous data stream and the synchronous data stream, for example by, means of a FIFO. A FIFO is a xe2x80x9cFirst In-First Outxe2x80x9d shift register.
For as long as a sufficient quantity of useful data of the asynchronous data stream is present in the converter circuit, the storage locations provided for the asynchronous data stream within the data frames are filled with useful data. If the number of useful data is smaller than the number of storage locations provided in the relevant data frame, the storage locations provided but not required for the asynchronous data stream are filled with definable values, for example zeros, by the converter circuit. If no useful data is present at a given instant, all storage locations are filled, for example with zeros. The respective number of valid useful data assigned to a data frame is counted by means of the converter circuit and added to the relevant data frame as protocol data in a predetermined position. Via this protocol data, therefore, each data frame contains information as regards the number of valid useful data of the asynchronous data stream present in the relevant data frame. Because, moreover, the position of the storage locations provided for the asynchronous data stream within the data frame is also predetermined, the valid useful data within the relevant data frame can be unambiguously identified by way of the protocol data. The receiver need merely know the selected transmission format, i.e. the receiver must know the position and the number of storage locations provided for the useful data of the asynchronous data stream and must also know where the protocol data is positioned within the data frame. Using this information, the receiver can filter the valid useful data from the relevant data frame for further processing.
The conversion of the asynchronous data into synchronous data and the reconversion of the transmitted synchronous data into asynchronous data are performed by way of a respective converter circuit. Therefore, the microprocessor of the transmitter generating the asynchronous useful data and the microprocessor of the receiver processing the asynchronous useful data are not burdened by the conversion.
An attractive version of the method is disclosed in claim 2. This version offers the advantage that a receiver can distinguish useful data of different categories on the basis of the protocol data. For example, the useful data can be distinguished as information data and control data. Control data is to be understood, for example as data which characterize the beginning of a line or the end of a line in the case of transmission of image data. In that case the information data is the image data itself.
The advantageous version of the method disclosed in claim 3 enables the transmission of asynchronous computer data between two computer systems via an intermediate synchronous bus system. The first and the second converter circuit preferably have the same construction and are provided with a respective receiver unit and a respective transmitter unit. This enables bidirectional data transmission between the two microprocessors. Because the first and the second converter circuit perform the conversion between the asynchronous and the synchronous data stream and between the synchronous and the asynchronous data stream, respectively, the computing capacity of the first and the second microprocessor will not be claimed by the conversion. This enables a saving in respect of processor capacity so that such a method can also be performed by means of microprocessors having a small computing capacity.
In conformity with the advantageous embodiment of claim 4, the synchronous bus is a continuous I2-S bus. The I2-S bus serves mainly for the transmission of digitized audio signals between individual integrated circuits inside an apparatus. The individual data frames of the I2-S bus comprise, for example 64 bits, sub-divided into a 32-bit left data sub-frame and a 32-bit right data sub-frame.
The object according to the invention in respect of a circuit arrangement is achieved in that a converter circuit is provided for converting the asynchronous data stream into a synchronous, continuous data stream, that a selectable number of storage locations within the data frame can be assigned to the useful data of the asynchronous data stream by the converter circuit, that a variable number of useful data can be assigned to the individual data frames by means of the converter circuit and in dependence on the speed of the asynchronous data stream, and that protocol data can be assigned to the individual data frames, via the converter circuit, each time in a predetermined position within the data frame, which protocol data contains information as regards the number of useful data contained in the relevant data frame.